/*
  学习目标：使用react-redux连接库 
  作用: 简化redux的使用
  前置:  下包 react-redux
 
*/

import { useState } from 'react';
import { useDispatch, useSelector } from 'react-redux';

export default function App() {
  const [show, setShow] = useState(true);
  return (
    <div>
      <h1>Redux基础案例</h1>
      <button onClick={() => setShow(!show)}>点击切换卸载挂载</button>
      {show && <Son />}
    </div>
  );
}

function Son() {
  //   2. 💥使用useSelector 获取 state, 会有数据驱动视图的效果
  const count = useSelector((state) => state.count);

  // 3. 通过useDispatch 获取 dispatch函数
  const dispatch = useDispatch();
  return (
    <div>
      <h2>子组件</h2>
      <h2>count:{count}</h2>
      <button onClick={() => dispatch({ type: 'add' })}>+1</button>
      <button onClick={() => dispatch({ type: 'des' })}>-1</button>
    </div>
  );
}
